<?php
/**
 *  
 *
  */
namespace Org\Util;
class Rcqssc {

    
     public function cqssc_balance() {
		 $day=date("Y-m-d");
		 $day_time=strtotime($day);
		 $insert_data=array();
		 $lm=array();
 				  $n_time=time(); 
 				    $condition['c_id']=1;	
					$condition['add_time'] = array(array('gt',$day_time)) ; 
 					$max_c_no=M('lottery_results')->where($condition)->max('c_no'); //获取当天最大期数
					 
					$url='http://a.apiplus.net/newly.do?token=5ee5aca63461f954&code=cqssc&rows=1&format=json'; //接口地址
					
					$new_result=get_http($url);
					$result=json_decode($new_result,true);
					 //print_r($max_c_no);
					// print_r($result['data'][0]['expect']);exit;
					if($max_c_no!=$result['data'][0]['expect']&&!empty($result['data'][0]['expect'])){
				 	// print_r($result['data'][0]['expect']);exit;
					S('cqssc_'.$result['data'][0]['expect'],$result['data'][0]['opencode']);  //存入缓存  方便计算两面长龙算法
					$insert_data['c_no']=$result['data'][0]['expect'];
					$insert_data['c_id']=1;
					$insert_data['c_name']='重庆时时彩';
					$insert_data['add_time']=$result['data'][0]['opentimestamp'];
					$insert_data['lottery_result']=$result['data'][0]['opencode'];
					$insert_data['status']=0;
					$num= explode(",",$result['data'][0]['opencode']);
					$sum=array_sum($num);
					$lm[0]=$sum;
					$lm[1]=$this->zh_ds($sum);
		            $lm[2]=$this->zh_dx($sum);
		            $lm[3]=$this->lht($num);	 
				    $n_lm=implode(",",$lm);
					$insert_data['lm']=$n_lm;
					if($max_c_no+1==$result['data'][0]['expect']){  //计算两面长龙结果
					  
					  $bdx=$this->bdx($num); //1-5大小
					  $bds=$this->bds($num); //1-5单双 
					  $q_three= $this->q_three($num);
					  $m_three= $this->m_three($num);	
					  $h_three= $this->h_three($num);	
					  
					   //LH=L,2,龙;DX4=X,2,第四球-小;DX1=D,2,第一球-大;DS2=D,2,第二球-单;ZDX=X,2,总和小;ZDS=D,2,总和单;TS1=2,2,前三-对子;
					  // $test_data=array('2,0,2,7,4','0,0,3,7,2','7,0,1,5,4','9,0,8,7,8','1,0,1,4,2','1,5,2,7,4');
  					   
					   $flag=1;
					   $flag_q=0;
					   $flag_m=0;
					   $flag_h=0;
					   $flag_zds=0;
					   $flag_zdx=0;
					   $flag_lht=0;
					   $flag_bds1=0;
					   $flag_bds2=0;
					   $flag_bds3=0;
					   $flag_bds4=0;
					   $flag_bds5=0;
					   $flag_bdx1=0;
					   $flag_bdx2=0;
					   $flag_bdx3=0;
					   $flag_bdx4=0;
					   $flag_bdx5=0;
					   $k=1;
					   do{
						   
						   $old_lottery=$result['data'][0]['expect']-$k;
						   $cqssc_result=S('cqssc_'.$old_lottery);
			 
							if(empty($cqssc_result))
							{
							$condition1['c_id']=1;
							$condition1['c_no']=$old_lottery;
							$cqssc_result=M('lottery_results')->where($condition1)->getField('lottery_result');
							if($cqssc_result){
							S('cqssc_'.$old_lottery,$cqssc_result);
							}else{
								$flag=0;
								}
							}	
						  
 						   $num1[$k-1]= explode(",",$cqssc_result);
						   $sum1[$k-1]=array_sum($num1[$k-1]);
						  
						   $q_three1[$k-1]= $this->q_three($num1[$k-1]);  //计算前三两面长龙
						   
						   if($flag_q==0){
							   
							  if($q_three1[$k-1]['id']==$q_three['id']){
							   $b=$k+1;
							   $q_s='TS1='.$q_three1[$k-1]['id'].','.$b.',前三-'.$q_three1[$k-1]['string'].'';
							   }else{
								  
							   $flag_q=1;	 
								   }
						   }
						      
						   $m_three1[$k-1]= $this->m_three($num1[$k-1]);  //计算中三两面长龙
						   if($flag_m==0){
							   
							  if($m_three1[$k-1]['id']==$m_three['id']){
							   $b=$k+1;
							   $m_s='TS2='.$m_three1[$k-1]['id'].','.$b.',中三-'.$m_three1[$k-1]['string'].'';
							   }else{
							   $flag_m=1;	 
								   }
						   }
						   
						   $h_three1[$k-1]= $this->h_three($num1[$k-1]);  //计算后三两面长龙
						   if($flag_h==0){
							   
							  if($h_three1[$k-1]['id']==$h_three['id']){
							   $b=$k+1;
							   $h_s='TS3='.$h_three1[$k-1]['id'].','.$b.',后三-'.$h_three1[$k-1]['string'].'';
							   }else{
							   $flag_h=1;	 
								   }
						   }
						   
						   
						   
							  //计算总和单双两面长龙
						   $ds1=$this->zh_ds($sum1[$k-1]);
						   if($flag_zds==0){
							   
							  if($ds1==$lm[1]){
							   $b=$k+1;
							   //ZDS=D,2,总和单
								 if($ds1=='双'){
								 $zh_ds='ZDS=S,'.$b.',总和双';
								 }else{
								 $zh_ds='ZDS=D,'.$b.',总和单';
									 }
							   }else{
							   $flag_zds=1;	 
								   }
						   }
						   
							   //计算总和大小两面长龙
						   $dx1=$this->zh_dx($sum1[$k-1]);
						   if($flag_zdx==0){
							   
							  if($dx1==$lm[2]){
							   $b=$k+1;
							   //ZDS=D,2,总和单
								 if($dx1=='小'){
								 $zh_dx='ZDX=X,'.$b.',总和小';
								 }else{
								 $zh_dx='ZDX=D,'.$b.',总和大';
									 }
							   }else{
							   $flag_zdx=1;	 
								   }
						   }
						   
						   
							   //计算龙虎和两面长龙
						   $lht1=$this->lht($num1[$k-1]);
						   if($flag_lht==0){
							  
							  if($lht1==$lm[3]){
							   $b=$k+1;
							   //LH=L,2,龙
								 if($lht1=='龙'){
								 $zh_lht='LH=L,'.$b.',龙';
								 }elseif($lht1=='虎'){
								 $zh_lht='LH=H,'.$b.',虎';
									 }else{
								  $zh_lht='LH=T,'.$b.',和';	   
										 }
							   }else{
							   $flag_lht=1;	 
								   }
						   }
						   
							  //计算1-5单双两面长龙
						   $bds1=$this->bds($num1[$k-1]);
							
						   if($flag_bds1==0){
							  if($bds1[0]==$bds[0]){
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bds1[0]=='双'){
								 $b_ds1='DS1=S,'.$b.',第一球-双';
								 }else{
								 $b_ds1='DS1=D,'.$b.',第一球-单';
									 }
							   }else{
							   $flag_bds1=1;	 
								   }
						   } 
						   if($flag_bds2==0){
							  if($bds1[1]==$bds[1]){
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bds1[1]=='双'){
								 $b_ds2='DS2=S,'.$b.',第二球-双';
								 }else{
								 $b_ds2='DS2=D,'.$b.',第二球-单';
									 }
							   }else{
							   $flag_bds2=1;	 
								   }
						   }
						   if($flag_bds3==0){
							  if($bds1[2]==$bds[2]){
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bds1[2]=='双'){
								 $b_ds3='DS3=S,'.$b.',第三球-双';
								 }else{
								 $b_ds3='DS3=D,'.$b.',第三球-单';
									 }
							   }else{
							   $flag_bds3=1;	 
								   }
						   }
						   if($flag_bds4==0){
							  if($bds1[3]==$bds[3]){
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bds1[3]=='双'){
								 $b_ds4='DS4=S,'.$b.',第四球-双';
								 }else{
								 $b_ds4='DS4=D,'.$b.',第四球-单';
									 }
							   }else{
							   $flag_bds4=1;	 
								   }
						   }
						   if($flag_bds5==0){
							  if($bds1[4]==$bds[4]){
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bds1[4]=='双'){
								 $b_ds5='DS5=S,'.$b.',第五球-双';
								 }else{
								 $b_ds5='DS5=D,'.$b.',第五球-单';
									 }
							   }else{
							   $flag_bds5=1;	 
								   }
						   }
						   
						   
						   
							   //计算1-5大小两面长龙
						   $bdx1=$this->bdx($num1[$k-1]);
							
						   if($flag_bdx1==0){
							  if($bdx1[0]==$bdx[0]){
								  
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bdx1[0]=='小'){
								 $b_dx1='DX1=X,'.$b.',第一球-小';
								 }else{
								 $b_dx1='DX1=D,'.$b.',第一球-大';
									 }
							   }else{
							   $flag_bdx1=1;	 
								   }
						   }
						   if($flag_bdx2==0){
							  if($bdx1[1]==$bdx[1]){
								  
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bdx1[1]=='小'){
								 $b_dx2='DX2=X,'.$b.',第二球-小';
								 }else{
								 $b_dx2='DX2=D,'.$b.',第二球-大';
									 }
							   }else{
							   $flag_bdx2=1;	 
								   }
						   }
						   if($flag_bdx3==0){
							  if($bdx1[2]==$bdx[2]){
								  
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bdx1[2]=='小'){
								 $b_dx3='DX3=X,'.$b.',第三球-小';
								 }else{
								 $b_dx3='DX3=D,'.$b.',第三球-大';
									 }
							   }else{
							   $flag_bdx3=1;	 
								   }
						   }
						   if($flag_bdx4==0){
							   
							  if($bdx1[3]==$bdx[3]){
								  
							   $b=$k+1;
							   //DS2=D,2,第二球-单
							   
								 if($bdx1[3]=='小'){
								 $b_dx4='DX4=X,'.$b.',第四球-小';
								 }else{
								 $b_dx4='DX4=D,'.$b.',第四球-大';
									 }
							   }else{
							   $flag_bdx4=1;	 
								   }
						   }
						   if($flag_bdx5==0){
							  if($bdx1[4]==$bdx[4]){
								  
							   $b=$k+1;
							   //DS2=D,2,第二球-单
								 if($bdx1[4]=='小'){
								 $b_dx5='DX5=X,'.$b.',第五球-小';
								 }else{
								 $b_dx5='DX5=D,'.$b.',第五球-大';
									 }
							   }else{
							   $flag_bdx5=1;	 
								   }
						   }
						   
						   
						   
						   $k++;
					 
						  if($flag_q==1&&$flag_m==1&&$flag_h==1&&$flag_zds==1&&$flag_zdx==1&&$flag_lht==1&&$flag_bds1==1&&$flag_bds2==1&&$flag_bds3==1&&$flag_bds4==1&&$flag_bds5==1&&$flag_bdx1==1&&$flag_bdx2==1&&$flag_bdx3==1&&$flag_bdx4==1&&$flag_bdx5==1||$k>10){
							// if($k<11){
							   $flag=0;
							   }
							// $flag=0;  
						   }while($flag==1);
					  
					  
					   if($q_s){	 
					   $s[]=$q_s;	
					   }
					   if($m_s){
					   $s[]=$m_s;	
					   }
					   if($h_s){
					   $s[]=$h_s;	
					   }
					   if($zh_ds){
					   $s[]=$zh_ds;	
					   }
					   if($zh_dx){
					   $s[]=$zh_dx;	
					   }
					   if($zh_lht){
					   $s[]=$zh_lht;	
					   }
					   if($b_ds1){
					   $s[]=$b_ds1;	
					   }
					   if($b_ds2){
					   $s[]=$b_ds2;	
					   }
					   if($b_ds3){
					   $s[]=$b_ds3;	
					   }
					   if($b_ds4){
					   $s[]=$b_ds4;	
					   }
					   if($b_ds5){
					   $s[]=$b_ds5;	
					   } 
					   if($b_dx1){
					   $s[]=$b_dx1;	
					   }
					   if($b_dx2){
					   $s[]=$b_dx2;	
					   }
					   if($b_dx3){
					   $s[]=$b_dx3;	
					   }
					   if($b_dx4){
					   $s[]=$b_dx4;	
					   }
					   if($b_dx5){
					   $s[]=$b_dx5;	
					   }
					   
					   
					   $n_s=implode(";",$s);	
						 
					   $insert_data['detail']=$n_s;	
						}
						
					$insert_result=M('lottery_results')->data($insert_data)->add();	
 					 
				 	if(!$insert_result){
 						 file_put_contents("test.txt", date("Y-m-d H:i:s") . "获取重庆时时彩结果存入失败！" . "\r\n<br>", FILE_APPEND);  	
							}
 					}
					
		$cqssc_result = new \Org\Util\Jscqssc();  //重庆时时彩
        $cqssc_result->cqssc_balance();
					 
		return; 		
     }
	
	 public function q_three($array){  //前三判断
		
		$output = array_slice($array, 0, 3);
		$data['id']='5';
		$data['string']='杂六';
		sort($output);
		//判断是否是豹子
		if($output[0]==$output[1]&&$output[0]==$output[2]){
			$data['id']='0';
			$data['string']='豹子';
			}
		//判断是否是对子
		if(($output[0]==$output[1]||$output[1]==$output[2])&&$output[0]!=$output[2]){
			$data['id']='2';
			$data['string']='对子';
			}	
		//判断是否是顺子
		if($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='1';
			$data['string']='顺子';
 			}
		//判断是否是半顺
		if(!($output[0]==$output[1]&&$output[0]==$output[2])&&!($output[0]==$output[1]||$output[0]==$output[2]||$output[1]==$output[2])&&!($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9))&&($output[1]-$output[0]==1||$output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='3';
			$data['string']='半顺';
 			}	
		return $data;
		
		}
public function m_three($array){  //中三判断
		
		$output = array_slice($array, 1, 3);
		//print_r($output);exit;
		$data['id']='5';
		$data['string']='杂六';
		sort($output);
		//判断是否是豹子
		if($output[0]==$output[1]&&$output[0]==$output[2]){
			$data['id']='0';
			$data['string']='豹子';
			}
		//判断是否是对子
		if(($output[0]==$output[1]||$output[1]==$output[2])&&$output[0]!=$output[2]){
			$data['id']='2';
			$data['string']='对子';
			}	
		//判断是否是顺子
		if($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='1';
			$data['string']='顺子';
 			}
		//判断是否是半顺
		if(!($output[0]==$output[1]&&$output[0]==$output[2])&&!($output[0]==$output[1]||$output[0]==$output[2]||$output[1]==$output[2])&&!($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9))&&($output[1]-$output[0]==1||$output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='3';
			$data['string']='半顺';
 			}	
		return $data;
		
		}
public function h_three($array){  //后三判断
		
		$output = array_slice($array, 2, 3);
		//print_r($output);exit;
		$data['id']='5';
		$data['string']='杂六';
		sort($output);
		//判断是否是豹子
		if($output[0]==$output[1]&&$output[0]==$output[2]){
			$data['id']='0';
			$data['string']='豹子';
			}
		//判断是否是对子
		if(($output[0]==$output[1]||$output[1]==$output[2])&&$output[0]!=$output[2]){
			$data['id']='2';
			$data['string']='对子';
			}	
		//判断是否是顺子
		if($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='1';
			$data['string']='顺子';
 			}
		//判断是否是半顺
		if(!($output[0]==$output[1]&&$output[0]==$output[2])&&!($output[0]==$output[1]||$output[0]==$output[2]||$output[1]==$output[2])&&!($output[1]-$output[0]==1&&($output[2]-$output[1]==1||$output[2]-$output[0]==9))&&($output[1]-$output[0]==1||$output[2]-$output[1]==1||$output[2]-$output[0]==9)){
			$data['id']='3';
			$data['string']='半顺';
 			}	
		return $data;
		
		}
 public function zh_ds($sum){  //总和单双
      if($sum%2==0){
		$ds='双';
			}else{
		$ds='单';	 
		}
		return $ds;
 }
 public function zh_dx($sum){  //总和大小
      if($sum>=23){
		   $dx='大';	 
			 }else{
			 $dx='小';	 
				 }
		return $dx;
 }
 public function lht($num){  //总和大小
      if($num[0]>$num[4]){
			$lht='龙';	 
			 }elseif($num[0]<$num[4]){
				$lht='虎';	  
				 }	else{
				$lht='和';	  	 
					 }	
		return $lht;
 }
 public function bdx($num){  //1-5球大小
	 $bdx=array();
	 foreach($num as $k=>$v){
		 if($v>=5){
		   $bdx[$k]='大';	 
			 }else{
			$bdx[$k]='小';	 
				 }
 		 }
	return $bdx;	 
  }
 public function bds($num){  //1-5球单双
	 $bds=array();
	 foreach($num as $k=>$v){
		 if($v%2==0){
		   $bds[$k]='双';	 
			 }else{
			$bds[$k]='单';	 
				 }
 		 }
	return $bds;	 
  }	  
	 
}